package com.xbongbong.paas.pojo.dto;

import com.xbongbong.paas.toolbox.helper.PageHelper;
import com.xbongbong.paas.toolbox.util.StringUtil;
import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 平铺部门列表（无层级）DTO
 * @author kaka
 * @time 2019-01-08 15:48
 */
@Getter
@Setter
@ToString
public class DepartmentFlatListDTO extends BaseDTO {

    private static final long serialVersionUID = 1799491581006540986L;

    /**
     * 默认平铺部门列表的分页单页数据量，默认为20
     */
    private static final Integer DEFAULT_DEP_PAGE_SIZE = PageHelper.PAGE_SIZE;

    /**
     * 部门名称模糊查询
     */
    private String nameLike;

    /**
     * 分页当前页
     */
    private Integer page;

    /**
     * 分页每页记录数
     */
    private Integer pageSize;

    /**
     * 是否显示隐藏部门,默认显示隐藏部门（与老逻辑一致）
     */
    private Boolean showHidden;

    public DepartmentFlatListDTO() {
        this.page = 1;
        this.pageSize = DEFAULT_DEP_PAGE_SIZE;
        this.showHidden = true;

    }

    /**
     * 参数接收完后的加工处理，
     * 比如nameLike的去除前后空格
     */
    public void postProcess() {
        if (StringUtil.isEmpty(this.nameLike)) {
            this.nameLike = null;
        } else {
            this.nameLike = StringUtil.trim(this.nameLike);
        }
    }
}
